package map;
import java.util.HashMap;
import java.util.Map;
/**
 * map:查找表
 * Map体现的样式是一个多行两列的表格，总是以键值对的形式来储存数据。
 * 左列称为key键，右列称为value值。
 * Map要求key不允许重复(equals比较)
 * Map总是根据key来获取对应的value
 *
 * Java.util.Map是一个接口，常见的实现类：
 * 1.java.util.HashMap:散列表，使用散列算法实现的Map
 * 2.java.util.TreeMap:使用二叉树实现的Map
 */
public class MapDemo1 {
    public static void main(String[] args) {
        Map<String,Integer> map = new HashMap();
        Integer value =map.put("张三",23);
        System.out.println(value);           //null，若不是替换操作，则返回null
        map.put("李四",24);
        map.put("王五",25);
        System.out.println(map);             //{李四=24, 张三=23, 王五=25}
        System.out.println(map.get("张三"));  //23
        System.out.println(map.get("赵六"));  //null，若给定的key不存在，则返回null
        value = map.put("张三", 26);          //替换操作
        System.out.println(value);           //23
        System.out.println(map);             //{李四=24, 张三=26, 王五=25}
        System.out.println("szie:"+map.size());//size:3，每组键值对为一个元素
        System.out.println("isEmpty:"+map.isEmpty());//isEmpty:false, 非空
        System.out.println("是否包含张三这个键："+map.containsKey("张三"));//true
        System.out.println("是否包含20这个值"+map.containsValue(20));    //false
        map.remove("张三");               //删除key张三所对应的键值对
        System.out.println(map);              //{李四=24, 王五=25}
        map.clear();
        System.out.println(map);              //{}
    }
}
/*
put.get.size.isEmpty.map.containsKey.containsValue.remove.clear
添加 查找 获取大小 是否为空 是否包含键      是否包含值     删除    清空
 */